#include "queue.h"


// 队列初始化
void initQueue(Queue* q) 
{
    q->front = 0;
    q->rear = 0;
    q->size = 0;
}

// 入队
int enqueue(Queue* q, int value) 
{
    if (q->size == MAX_SIZE) {
        return -1; // 队列已满
    }
    q->data[q->rear] = value;
    q->rear = (q->rear + 1) % MAX_SIZE;
    q->size++;
    return 0;
}

// 出队
int dequeue(Queue* q, int* value) 
{
    if (q->size == 0) {
        return -1; // 队列为空
    }
    *value = q->data[q->front];
    q->front = (q->front + 1) % MAX_SIZE;
    q->size--;
    return 0;
}

// 获取队列元素数量
int getSize(Queue* q) 
{
    return q->size;
}

